Changes to make cross-process merging feasible:
authorMatthias Clasen <maclas@gmx.de>
Sun, 21 Sep 2003 22:04:48 +0000 (22:04 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 21 Sep 2003 22:04:48 +0000 (22:04 +0000)
commitd381967d5ccb39a1b5dc94cbc01379143c917eb8
tree8256261a7140d2f49e5c371e6ef613d1f58785a6
parent8be8d7f61dd77ae9331c92ec692350e7947c6340
Changes to make cross-process merging feasible:

2003-09-21  Matthias Clasen  <maclas@gmx.de>

Changes to make cross-process merging feasible:

* gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
merged UI definition. Remove the "changed" signal, since its role
is now filled by "notify::ui". Instead add a "actions-changed" signal
which gets emitted when the set of actions changes.

* gtk/gtktoggleactionprivate.h:
* gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
Add a "draw_as_radio" property to toggle actions so that they can be
used as proxies for radio actions much like the "draw_as_radio"
property on check menu items enables them to operate as proxies for
radio actions.

Prevent the "show_all" trap for action-based menus (see
http://mail.gnome.org/archives/gtk-devel-list/2003-September/
msg00260.html):

* gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
calls from static functions.

* gtk/gtkuimanager.c (update_node):
* gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
widgets whose visibility is externally controlled.

* gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean
"no_show_all" property with setter and getter. When TRUE, it keeps
gtk_widget_{hide,show}_all() from modifying the visibility of the
widget and its children.
16 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
docs/reference/ChangeLog
docs/reference/gtk/gtk-sections.txt
gtk/gtkaction.c
gtk/gtkmenu.c
gtk/gtktoggleaction.c
gtk/gtktoggleaction.h
gtk/gtktoggleactionprivate.h
gtk/gtkuimanager.c
gtk/gtkuimanager.h
gtk/gtkwidget.c
gtk/gtkwidget.h